OR와 ROWNUM을 같이 사용할 때 주의 :: 오라클 실습[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

오라클 실습
[1]
등록일:2009-05-28 00:14:38 (0%)
작성자:
제목:OR와 ROWNUM을 같이 사용할 때 주의
1.  OR와  ROWNUM을  같이  사용할  때  주의  (스크린에  20개의  Row만  보여준다.)
    전제:조건절의  3개의  컬럼에  각각  인덱스가  있다.

예)      Select    nibbcode,    NVL(nibbcode,’’)
              From      Sunapiljung
            Where    Rownum  <  21  and  (sunapdes  like  ‘E%’  or  sunapdes  like  ‘F%’)  
                And    sncode  >  :B1;

문제점:  or를  먼저  풀어  냄으로  sunapdes  like  ‘E%’와  sunapdes  like  ‘F%’를  실행한  후  결합한다.  or와  rownum을  같이  사용하면  모든  경우  필터하기  때문에  부분범위  처리를  할  수  없다.
이때는      Select    nibbcode,    NVL(nibbcode,’’)
                            From      Sunapiljung
                          Where    Rownum  <  21  and  (sunapdes||”  like  ‘E%’  or  sunapdes  ||”  like  ‘F%’)  
                                And    sncode  >  :B1;
같이  사용하여  suppressing하여  인덱스를  사용하지  못하게  하여  20개를  먼저  수행하도록  한다.  각  부분의  인덱스를  생성하지말고  sncode와  sunapdes를  결합하는  인덱스를  생성한다.
[본문링크] OR와 ROWNUM을 같이 사용할 때 주의
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=31499
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.